<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use DB;
use Illuminate\Support\Facades\Schema;

class CityCodeController extends Controller
{
    //电压等级编码 列表展示
    public function index(Request $request) {
        if ($request->expectsJson()) {
            //ajax请求
            //电压等级编码 列表 datatable的ajax 加载
            if (!Schema::hasColumn('city_code', 'code')) {
                DB::statement("ALTER TABLE city_code ADD COLUMN code tinyint(3)  COMMENT '编码' ");
            }
            $data = DB::table('city_code')->where('pid', 0)->orderBy('code')->get();
            $jsonData['data'] = $data;
            return response()->json($jsonData);
        }
        else {
            return view('admin.cityCode.index');
        }
    }

    //电压等级编码 删除
    public function del(Request $request) {
        $id = $request->id;
        //  delete 返回受影响的行数
        $result = DB::table('city_code')->where('id', $id)->delete();
        //由于框架自身不支持响应bool值，所以转化一种形式
        return $result >= 0 ? '1' : '0';
    }

    //电压等级编码 添加
    public function add(Request $request) {
        if ($request->isMethod('POST')) {
            $post_data = $request->only(['code', 'name']);
            if (DB::table('city_code')->where('name', $post_data['name'])->exists()) {
                return '名称已存在';
            }
            if (DB::table('city_code')->where('code', $post_data['code'])->exists()) {
                return '编码已存在';
            }
            $result = DB::table('city_code')->insert($post_data);
            //由于框架自身不支持响应bool值，所以转化一种形式
            return $result ? '1' : '0';
        }
        else {
            return view('admin.cityCode.add');
        }
    }


    //电压等级编码 修改
    public function edit(Request $request) {
        $id = $request->id;
        if ($request->isMethod('POST')) {
            $post_data = $request->only(['code', 'name']);
            if (DB::table('city_code')->where('id','!=',$id)->where('name', $post_data['name'])->exists()) {
                return '名称已存在';
            }
            if (DB::table('city_code')->where('id','!=',$id)->where('code', $post_data['code'])->exists()) {
                return '编码已存在';
            }
            $result = DB::table('city_code')->where('id', $id)->update($post_data);
            //由于框架自身不支持响应bool值，所以转化一种形式
            return $result ? '1' : '0';
        }
        else {
            //查询要修改的电压等级编码 信息
            $info = DB::table('city_code')->find($id);
            return view('admin.cityCode.edit', compact('info'));
        }
    }
}
